import React from 'react';
import PubSub from 'pubsub-js'
import { Upload,message } from 'antd';
import 'antd/dist/antd.css'
import { LoadingOutlined, PlusOutlined } from '@ant-design/icons';

    
function getBase64(img, callback) {
    const reader = new FileReader();
    reader.addEventListener('load', () => callback(reader.result));
    reader.readAsDataURL(img);
  }
  
  function beforeUpload(file) {
  //   const isJpgOrPng = file.type === 'image/jpeg' || file.type === 'image/png';
  //   if (!isJpgOrPng) {
  //     message.error('You can only upload JPG/PNG file!');
  //   }
    const isLt2M = file.size / 1024 / 1024 < 2;
    if (!isLt2M) {
      message.error('上传图片文件超过 2MB!');
    }
  //   return isJpgOrPng && isLt2M;
    return isLt2M;
  }
export default  class Avatar extends React.Component {
 state = {
      loading: false,
      type:"warning",
      message:"添加失败",
      displays:"none"
    };
  
    handleChange = info => {
      if (info.file.status === 'uploading') {
        this.setState({ loading: true });
      }
      if (info.file.status === 'done') {
        // Get this url from response in real world.
        getBase64(info.file.originFileObj, imageUrl =>
          this.setState({
            imageUrl,
            loading: false,
          }),
        );
      }
    };
    addchange=(e)=>{
      if (e.fileList[0].response) {
      const {response}=e.fileList[0]
        if (response.code==1) {
          PubSub.publish('arguigu',{type:"success", name:"添加成功",display:"flex"})
        }else{
          PubSub.publish('arguigu',{type:"error", name:"添加失败",display:"flex"})
        }
      }
      
      
    }  
    render() {
      const { loading, imageUrl } = this.state;
      const uploadButton = (
        <div>
          {loading ? <LoadingOutlined /> : <PlusOutlined />}
          <div style={{ marginTop: 8 }}>Upload</div>
        </div>
      );
      return (
        <div>
        <Upload
          name="imgs"
          listType="picture-card"
          className="avatar-uploader"
          showUploadList={false}
          action={this.props.url}
          beforeUpload={beforeUpload}
          // onChange={this.handleChange}
          accept="image/*,.pdf"
          data={{token:localStorage.getItem("token")}}
          onChange={(e)=> this.addchange(e)}
        >
          {imageUrl ? <img src={imageUrl} alt="avatar" style={{ width: '100%' }} /> : uploadButton}
        </Upload>
      

        </div>

      );
    }
  }
    
  